package com.aaa.controller;

import com.aaa.dto.AdminDto;
import com.aaa.dto.AdminRoleDto;
import com.aaa.dto.UserDto;
import com.aaa.pojo.DefaultMsg;
import com.aaa.service.UserService;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;

/**
 * 用户管理控制器
 */
@RestController
@RequestMapping("/user")
public class UserController {


    @Autowired
    private UserService userService;


    /**
     * 查询所有的用户信息
     * @return 返回所有用户信息集合
     */
    @GetMapping("/findAllUser")
    public List<UserDto> findAllUser(){
        return  userService.findAllUser();
    }

    /**
     * 查询所有的用户信息
     * @return 返回所有用户信息集合
     */
    @GetMapping("/findAllAdminUser")
    public List<AdminDto> findAllAdminUser(){
        return  userService.findAllAdminUser();
    }


    /**
     * 查询所有的权限
     * @return 返回所有权限合
     */
    @GetMapping("/findAdminRoleList")
    public List<AdminRoleDto> findAdminRoleList(){
        return  userService.findAdminRoleList();
    }

    /**
     * 跟据管理员id修改权限
     * @return 返回http信息
     */
    @PostMapping("/updateRoleByAdminId")
    public DefaultMsg updateRoleByAdminId(Integer userId, Integer roleId){
        return  userService.updateRoleByAdminId(userId, roleId);
    }

    /**
     * 上传头像
     * @param file
     * @return
     */
//    @RequestMapping("/upload")
//    public DefaultMsg upload(MultipartFile file){
//        DefaultMsg defaultMsg = new DefaultMsg();
//        //声明要上传的文件夹
//        String dir = "D:/upload_374/head/";
//        //生成唯一的保存文件名
//        String saveName = UUID.randomUUID().toString();
//        File saveFile = new File(dir+saveName);
//        try {
//            file.transferTo(saveFile);
//            defaultMsg.setTarget(saveName);
//        } catch (IOException e) {
//            e.printStackTrace();
//            defaultMsg.setSuccess(0);
//            defaultMsg.setError("上传失败");
//        }
//        return defaultMsg;
//    }
}
